閱讀提醒:本文可以單獨服用,會在官方的高級賽車模板中撰寫計時器及引擎音效。
另外計時器在此篇上半部重寫,上一篇可忽略。前置作業:可先找三個分別為三種檔位/三種速度的引擎音效,可循環播放的。
Unreal Engine:5.03 高級賽車模板
OS:Windows10
1. 計時器
2. 音效 - Engine Sound
昨天的計時器,因為太忙沒整理過,所以本篇的前半段會重寫計時器的部份,且會分別撰寫正數及倒數。
在玩賽車遊戲時,大家通常最在意的就是每個地圖或賽道的計時,或者是劇情挑戰的限時賽,所以今天就來實作一下計時器吧!
首先開啟模板中的 Vehicle UI 藍圖。
在 designer 介面新增三個 Textblock,分別為 「分鐘:秒數」,將其物件名稱改為 Mins、:、Secs,並在 Detail 面板將 Text 分別設為 00、:、00。
並且新增一個 Horizontal Box,並將三個 Textblock 拉到該階層下方。
將其放到畫面上方,並透過 Detail 面板調整相關屬性,例如:位置、大小。
最後,分別選到 Mins、Secs,在 Detail 面板中的 Text 右側選擇 Bind V,選擇 Create Binding。
再回到 Vehicle UI 藍圖,切到 Event Graph 。
新增 Event Construct 事件,透過 Get All Actor of Class 調用 Vehicle Player Controller。
新增 Get(a copy),再 Ouput 節點上點擊右鍵,選擇 Promote to Variable,會將其複製到該新的變數,並將變數名稱改為 Vehicle Refff。
Get Mins Text0、Get Secs Text0接著我們從 function 面板打開剛剛 Create Binding 出來的兩個 function,分別為 Get Mins Text0、Get Secs Text0。
首先開啟 Get Mins Text0,在 Return Node 的 Return value 節點上新增 To Text(Integer),顯示整數的意思,並將 Minimun Integral Digits、Maximum Integral Digits 皆設為 2,亦為會顯示的最少及最多的整數位數,因為我們的分鐘及秒數,希望皆會顯示兩位數,故設為 2。
接著將 Vehicle Refff 拖曳到面板上,選擇 Get,並且與 Get Mins 連接,最後 Value 參數,傳遞給 To Text(Integer)。
再來開啟 Get Secs Text0,其步驟與 Get Mins Text0 一樣,只需將 Get Mins 改為 Get Secs 傳遞給 To Text(Integer)。
開啟 Vehicle Player Controller,新增兩個 Variables,分別為 Mins、Secs,並將 Mins、Secs 的 Default Value 改為 0。
找到 Event Tick 事件,並在 Update Gear 後方新增 Delay,並將 Duration 設為 1。
接著先計算秒數,再接上 Branch,設置須進位時的條件,當 Secs > 59 成立,則 Mins + 1、Secs = 0。
一樣是找到 Event Tick 事件,並在 Update Gear 後方新增 Delay,並將 Duration 設為 1。
接著先判斷秒數是否為 0,若為 False,則 Secs-1。
反之,則新增一個 Branch,判斷 Mins 是否為 0,若為 False,則 Mins-1、Secs=59;若為 True,可連接結束遊戲 UI。
最後,將 Mins、Secs 的 Default Value 可改為該圈賽道限時的時間,例如:Mins = 2、Secs = 10,也就是限時兩分十秒。
PS:若單獨實作計時器,要記得
Create Widget、Add Viewport,才會顯示在畫面上喔!若為同一個 UI藍圖,新增一次即可,可參考之前的說明,https://ithelp.ithome.com.tw/articles/10302929。
接下來我們來看該怎麼設置引擎音效吧!
先找三種不同檔位或是車速的引擎音效,並將其匯入專案中。
右鍵,選擇Sounds,新增 Sound Attenuation 、Sound Cue 藍圖,並將其分別命名為 CarRunning、EngineSound。
2000。
Crossfade by Param ,透過參數淡入淡出。Continuous Modulator,可以在此分別為三個音效調整各項參數。Looping Wave Player:Sound,並將 Sound Wave 設置成三個對應的音檔。
Audio Component,並將音效設置成剛剛新增的 EngineSound。
小結:上方就是正數、倒數計時器的藍圖撰寫以及引擎音效的基本設定啦!明天繼續~![]()